iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
Software Development

Gradle 通靈術系列 第 18

第十八天:客製化 Gradle Task

  • 分享至 

  • xImage
  •  

雖然 Gradle 內建不少任務,也有眾多 Plugin 可以增加更多常用任務。但畢竟每個專案都是獨一無二的,情境和需求也都不同,因此往往會需要在 Gradle 裡寫一些客製化的 Task。今天就要跟大家談談如何寫 Custom Gradle Task。

在 Gradle Script 裡建立客製化任務

在 Gradle 建立客製化任務最簡單的方式,就是直接把 Task 動作寫在 Gradle Build Script 裡,也就是 build.gradle.kts 裡。我們先試著定義一個 Task,然後單純地印一些字串在畫面上:

task welcome {
    doLast {
        println("Hello, task!")
    }
}

在這邊我們定義了一個名為 welcome 的任務,執行後會把 Hello, task! 的字樣輸出在終端機畫面上。我們可以先用之前學過的 tasks --all 指令來檢查這個指令是不是已經成功被掛載到 Gradle 裡:

$ ./gradlew tasks --all
Other tasks
-----------
welcome

接著來執行一次指令測試看輸出行為:

$ ./gradlew welcome
Hello, task!

小結

其實在各種專案裡都會有像這樣寫一些腳本的需求,最簡單的方式就是用 Bash 來寫,或是有些開發者慣用 Make 來做。而在各個程式語言生態系裡,把自動化動作寫在建置工具也是很常見的作法。比方說在 PHP 生態系裡,會用 Composer Script 的方式實作、在 Javascript 生態系裡,會用 Npm Script 的方式實作。而以 JVM 生態系來說,寫在 Gradle Task 裡也是剛好而已。其實網路上針對客製化 Gradle Task 的教學不少,但大多數的示範程式碼都是用 Groovy 寫的,對於 Kotlin 開發者來說有些門檻。希望透過今天的教學,能增進大家對 Gradle Task 的了解,未來就可以依照自己的需求撰寫客製化 Gradle 腳本來解決日常任務。

參考資料


上一篇
第十七天:該用 implementation 還是 compile?
下一篇
第十九天:初探 Gradle Plugins
系列文
Gradle 通靈術24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言